template(name="checklists")
  .checklists-title
    h3.card-details-item-title
      i.fa.fa-check
      | {{_ 'checklists'}}
    if currentUser.isBoardMember
      .material-toggle-switch
        span.toggle-switch-title {{_ 'hide-checked-items'}}
        if hideCheckedItems
          input.toggle-switch(type="checkbox" id="toggleHideCheckedItemsButton" checked="checked")
        else
          input.toggle-switch(type="checkbox" id="toggleHideCheckedItemsButton")
        label.toggle-label(for="toggleHideCheckedItemsButton")

  if toggleDeleteDialog.get
    .board-overlay#card-details-overlay
    +checklistDeleteDialog(checklist = checklistToDelete)


  .card-checklist-items
    each checklist in currentCard.checklists
      +checklistDetail(checklist = checklist)

  if canModifyCard
    +inlinedForm(autoclose=false classNames="js-add-checklist" cardId = cardId)
      +addChecklistItemForm
    else
      a.js-open-inlined-form
        i.fa.fa-plus
        | {{_ 'add-checklist'}}...

template(name="checklistDetail")
  .js-checklist.checklist
    +inlinedForm(classNames="js-edit-checklist-title" checklist = checklist)
      +editChecklistItemForm(checklist = checklist)
    else
      .checklist-title
        span
        if canModifyCard
          a.js-delete-checklist.toggle-delete-checklist-dialog {{_ "delete"}}...

        if canModifyCard
          h2.title.js-open-inlined-form.is-editable
            if isMiniScreenOrShowDesktopDragHandles
              span.fa.checklist-handle(class="fa-arrows" title="{{_ 'dragChecklist'}}")
            +viewer
              = checklist.title
        else
          h2.title
            +viewer
                = checklist.title
    +checklistItems(checklist = checklist)

template(name="checklistDeleteDialog")
  .js-confirm-checklist-delete
    p
      i(class="fa fa-exclamation-triangle" aria-hidden="true")
    p
      | {{_ 'confirm-checklist-delete-dialog'}}
      span {{checklist.title}}
      | ?
    .js-checklist-delete-buttons
      button.confirm-checklist-delete(type="button") {{_ 'delete'}}
      button.toggle-delete-checklist-dialog(type="button") {{_ 'cancel'}}

template(name="addChecklistItemForm")
  textarea.js-add-checklist-item(rows='1' autofocus)
  .edit-controls.clearfix
    button.primary.confirm.js-submit-add-checklist-item-form(type="submit") {{_ 'save'}}
    a.fa.fa-times-thin.js-close-inlined-form

template(name="editChecklistItemForm")
  textarea.js-edit-checklist-item(rows='1' autofocus dir="auto")
    if $eq type 'item'
      = item.title
    else
      = checklist.title
  .edit-controls.clearfix
    button.primary.confirm.js-submit-edit-checklist-item-form(type="submit") {{_ 'save'}}
    a.fa.fa-times-thin.js-close-inlined-form
    span(title=createdAt) {{ moment createdAt }}
    if canModifyCard
      a.js-delete-checklist-item {{_ "delete"}}...

template(name="checklistItems")
  .checklist-items.js-checklist-items
    each item in checklist.items
      +inlinedForm(classNames="js-edit-checklist-item" item = item checklist = checklist)
        +editChecklistItemForm(type = 'item' item = item checklist = checklist)
      else
        +checklistItemDetail(item = item checklist = checklist)
    if canModifyCard
      +inlinedForm(autoclose=false classNames="js-add-checklist-item" checklist = checklist)
        +addChecklistItemForm
      else
        a.add-checklist-item.js-open-inlined-form
          i.fa.fa-plus
          | {{_ 'add-checklist-item'}}...

template(name='checklistItemDetail')
  .js-checklist-item.checklist-item(class="{{#if item.isFinished }}is-checked{{#if hideCheckedItems}} invisible{{/if}}{{/if}}")
    if canModifyCard
      .check-box-container
        .check-box.materialCheckBox(class="{{#if item.isFinished }}is-checked{{/if}}")
      if isMiniScreenOrShowDesktopDragHandles
        span.fa.checklistitem-handle(class="fa-arrows" title="{{_ 'dragChecklistItem'}}")
      .item-title.js-open-inlined-form.is-editable(class="{{#if item.isFinished }}is-checked{{/if}}")
        +viewer
          = item.title
    else
      .materialCheckBox(class="{{#if item.isFinished }}is-checked{{/if}}")
      .item-title(class="{{#if item.isFinished }}is-checked{{/if}}")
        +viewer
          = item.title
